package com.bsj.power.common.def.dto.media;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;

/**
 * @Description 实时控制请求参数
 * @Author zhaoyang
 * @Date 2023/6/19 11:58
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RealCtrolParam extends IssuedCommand {

    /**
     * 逻辑通道号
     */
    @NotNull(message = "逻辑通道号不能为空")
    private Integer channelNo;

    /**
     * 控制指令
     * 0:关闭音视频传输指令
     * 1:切换码流（增加暂停和继续〉
     * 2:暂停该通道所有流的发送
     * 3:恢复暂停前流的发,与暂停前的流类型一致
     * 4:关闭双向对讲
     */
    @NotNull(message = "控制指令不能为空")
    private Integer controlType;

    /**
     * 关闭音视频类型
     * 0:关闭该通道有关的音视频数据；
     * 1:只关闭该通道有关的音频，保留该通道有关的视频
     * 2:只关闭该通道有关的视频，保留该通道有关的音频
     */
    @NotNull(message = "关闭音视频类型不能为空")
    private Integer closeType;

    /**
     * 切换码流类型
     * 0:主码流 1:子码流
     */
    @NotNull(message = "切换码流类型不能为空")
    private Integer streamType;

}
